1. Field of the Invention
The present invention generally relates to communication over a packet network and, more particularly, to processing and generating DTMF signals in the packet network.
2. Related Art
The packetizing of voice signals for transmission over a packet network, (i.e., Voice over Packet or “VoP”), has been recognized as a less expensive, yet effective, alternative to traditional telephone service. The term VoP is an umbrella term that can include, for example, VoIP, VoATM, VoDSL and other types of services utilizing packetized voice data.
Referring to FIG. 1A, conventional communication system 100 is used to illustrate the architecture and operation of a typical VoP network. As shown, communication system 100 comprises calling device 102, which can be an analog telephone, for example. An analog voice signal from calling device 102, generated by a client speaking into the device's microphone, for example, travels over copper wires (i.e., the local loop) to central office 104, where the analog voice signal can be digitized using a conversion standard, such as G.711. The digitized voice signal is then transmitted over public switched telephone network (“PSTN”) 106 to gateway 108.
At gateway 108, which is situated on the emitting side of packet network 110, for purposes of the present illustration, the digitized voice signal is compressed and packetized for transmission over packet network 110. The compression of the speech signal at gateway 108 can be performed by a low-rate voice codec such as, for example, either G.723 or G.729, thus reducing the amount of data that has to be packetized and sent over packet network 110 to receiving device 112. Receiving device 112 can be, for example, a gateway or application server configured to receive and process packets from packet network 110. For example, receiving device 112 may depacketize and decompress the voice signal carried by the packets arriving from packet network 110. The voice signal can then be relayed to another central office, for example, and eventually to the called party.
One challenge facing the telecommunications industry is the effective processing of dual-tone multifrequency (“DTMF”) signals in a packet architecture. DTMF tones refer to the tones generated by pressing the buttons (i.e., the digits) on the keypad of a touch-tone telephone, which typically has twelve digits (i.e., numbers 1–9, the asterisk “*”, and the pound sign “#”). In some cases, buttons having letters A, B, C, or D may also be found on certain telephone models, bringing the total numbers of buttons on such telephones to sixteen. Each button on a telephone's keypad is assigned a specific and distinct tone produced by the combination of two tones of different frequencies. For example, digit “1” is composed of 1200 Hz and 697 Hz tone pair, digit “#” is composed of 1477 Hz and 941 Hz tone pair, and digit “B” is composed of 1633 Hz and 770 Hz tone pair. Manifestly, sixteen frequency or tone pairs have been designated and reserved to represent the sixteen DTMF digits. DTMF digits can be specified as named telephony events, or “NTE.” Alternatively, the frequencies and levels of the tones can be specified directly as telephony tones, or “TT.”
The uniqueness of the tones associated with the DTMF digits is exploited for general signaling purposes, such as when dialing a particular telephone number. DTMF tones are also commonly utilized as a means for selecting specific items from a menu, for example, or for accessing specific applications offered by an application server during a “voice” call. By way of illustration, a caller dialing into a governmental agency, for instance, may be routed through a series of steps whereby each step is initiated by the caller entering the appropriate digit in order to arrive at a desired destination, service, application or the like. In order for this process to proceed properly and effectively, the receiving device at the governmental agency must be able to detect and recognize accurately the digits entered by the caller.
Moreover, specific standards have been implemented setting forth the requirements for DTMF detection. Such criteria as tone duration, tone separation and frequency deviation each must satisfy certain boundaries before a receiving device will recognize, or accept, a signal as a legitimate DTMF digit. For example, the duration of a tone must last for at least 40 msec before a DTMF digit is recognized. Also, the minimum interdigital interval (i.e., the “silence” period between two tones) must last for at least 40 msec in order for the receiving device to detect the presence of two separate DTMF digits; otherwise, the trailing tone may be discarded or treated as part of the leading tone. Requirements for the detection of DTMF digits can be found, for example, in standards promulgated by the Electronic Industries Alliance/Telecommunications Industry Association (“EIA/TIA”) and the International Telecommunication Union-Telecommunication Standards Sector (“ITU-T”).
As described above, voice signals can be compressed at gateway 108, for example, using low-rate voice codecs such as G.723 or G.729 for more efficient transmission of voice data across a packet network. However, these speech compression standards have proven to be unsatisfactory for proper handling of DTMF tones. More specifically, when subjected to the same type of compression as voice signals, DTMF tones are often unacceptably distorted. As a consequence, the tones generated and packetized by the transmitting gateway can be inaccurate, leading to poor detection and recognition by a receiving device on the other side of the packet network.
In order to improve DTMF relay across a packet network, DTMF digits may be processed at the gateway independently of the voice signal, even when both are received from the same device. As such, the DTMF tones do not have to undergo the same type of compression as the voice signal. One format for packetizing DTMF digits independently of voice signals for transmission across a packet network is the Internet Engineering Task Force's (“IETF”) Request For Comment 2833 (“RFC2833”).
Reference is now made to FIG. 1B, which illustrates an example of an RFC2833-type packet for transporting DTMF digits. As shown, packet 140 is transporting three DTMF tones, i.e., DTMF tones 142, 144 and 146, which code DTMF digits 9, 1 and 1, respectively. The on/off status of a tone is indicated by its associated end or “E” bit. For example, E bit 160 for DTMF tone 142 is set to 1, which means that DTMF tone 142 is off, while E bit 162 for DTMF tone 146 is set to 0, which means that DTMF tone 146 is on. The duration of each tone is coded in its duration field. For example, DTMF tone 142 had a duration of 1600 timestamp units as indicated by duration field 150, while DTMF tone 144 had a duration of 2000 timestamp units as indicated by duration field 152. DTMF tone 146 (which is still on based on the setting of its E bit), has been on for 400 timestamp units as indicated by duration field 154. Timestamp field 148 indicates that the last event being transported by packet 140 (i.e., DTMF tone 146), was pressed or entered by the calling party at time 11200 (in timestamp units), assuming that the first tone carried by packet 140 (i.e., DTMF tone 142) was entered at time 0. Timestamp offset fields 156 and 158 are used to code the length of time since DTMF tone 142 and DTMF tone 144, respectively, were first detected by the emitting device.
Although RFC2833 provides an effective means for packetizing DTMF digits by the device on the emitting side of a packet network, serious issues and drawbacks remain with the processing of such packets on the receiving side of the packet network. For example, due to packet loss and other deficiencies associated with packet networks, the device responsible for processing DTMF digits on the receiving side of the packet network may not receive all the packets needed to regenerate the digits reliably. Such a case may arise, for example, when end-of-event packets signaling that a tone has ended are lost, in which case the receiving device may end up regenerating a digit for an indefinite length of time. As another example, start-of-tone packets may be lost, resulting in improper initiation of tone regeneration by the receiving device.
By way of illustration of how packet loss can impact reliable DTMF relay, consider a scenario involving the following six packets: (1) packet A indicates that a first tone has started; (2) packet B is a keep-alive packet for the first tone; (3) packet C indicates that the first tone has finished; (4) packet D indicates that a second tone has started; (5) packet E is a keep-alive packet for the second tone; and (6) packet F indicates that the second tone has finished. In this scenario, the time period between the transmission of packet A and packet C is sufficient for a receiving device to detect the DTMF digit. However, the period between the transmission of packets B and C is not sufficiently long for proper detection. Thus, if packet A is lost, the receiving device would detect packet B as the start of the first tone and would end the first tone with packet C, and the duration of the regenerated tone would not be long enough to be valid. As another example, when packet C is lost, the tone starts with packet A but would not end until packet D is received. But because packet D indicates the start of a second tone, the second tone would be regenerated immediately following cessation of the first tone. In such case, there is an insufficient off time between the first tone and the second tone, and the DTMF sequence would be considered invalid.
Currently known schemes directed to transmitting DTMF digits across a packet network reliably have proven inadequate in several respects. For example, one known scheme involves retransmitting packets as often as necessary to compensate for lost packets. However, such an approach introduces unacceptably long delays into the system since time has to be allotted for receipt acknowledgement and possible re-transmission. Furthermore, since real-time voice transport seldom uses error correction, a DTMF relay scheme which relies on retransmission and error correction may need a separate transport layer from that used for voice transmission, thus adding implementation complexity. Other approaches may involve using different redundancy schemes to alleviate the impact of packet loss. As a general point, however, the requirements for accurate DTMF relay as applied to VoP under present standards and proposals are not adequately addressed.
Thus, there is an intense need in the art for an improved approach to DTMF processing over packet networks that can overcome the shortcomings of the existing designs and can provide a more reliable and accurate detection and recognition of DTMF digits.